package com.cn.hotel.dao.Impl;

import com.cn.hotel.dao.IRoomDao;
import com.cn.hotel.model.HomeThreeShowModel;
import com.cn.hotel.model.RoomModel;
import com.cn.hotel.util.GetSqlSession;
import com.cn.hotel.util.JDBC;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class RoomImpl implements IRoomDao {
    /**
     * 添加房间 含图片
     *
     * @param roomModel
     * @return
     */
    @Override
    public int add(RoomModel roomModel) {
        return GetSqlSession.getSqlSession().insert("com.cn.hotel.dao.IRoomDao.add",roomModel);
    }

    /**
     * 查询所有房间  和根据条件查询
     *
     * @param roomModel
     * @return
     */
    @Override
    public List<RoomModel> findAll(RoomModel roomModel) {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.findAll",roomModel);
    }

    /**
     * 得到数据库总条数
     *
     * @param roomModel
     * @return
     */
    @Override
    public int getCount(RoomModel roomModel) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.IRoomDao.getCount",roomModel);

    }

    /**
     * 根据roomId查询数据 返回给页面  进行赋值
     *
     * @param
     * @return
     */
    @Override
    public RoomModel findByRoomId(Integer roomId) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.IRoomDao.findByRoomId",roomId);
    }

    /**
     * 根据roomId进行数据删除
     *
     * @param temp
     * @return
     */
    @Override
    public int delete(Integer temp) {
        return GetSqlSession.getSqlSession().delete("com.cn.hotel.dao.IRoomDao.delete",temp);
    }
    /**
     * 提交的编辑后的房间信息  进行存储更改
     * @param roomModel
     * @return
     */
    @Override
    public int edit(RoomModel roomModel) {
        return GetSqlSession.getSqlSession().update("com.cn.hotel.dao.IRoomDao.edit",roomModel);
    }
//---------------------------------------------------------------------前端调值
//    @Override
//    public List<RoomModel> getRoomModel() {
//        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.getRoomModel");
//    }

    @Override
    public List<RoomModel> getRoomModelList() {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.getRoomModelList");
    }

    /**
     * 获取指定数量的房间数目
     * @return
     */
    @Override
    public List<RoomModel> getAppointRoomModel(Map<String,Integer> map) {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.getAppointRoomModel",map);
    }

    /**
     * 网站首页获取三张房间图
     * @return
     */
    @Override
    public List<HomeThreeShowModel> getThree() {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.getThree");
    }

    /**
     * 网站首页三张图片后台管理
     * @param model
     * @return
     */
    @Override
    public List<HomeThreeShowModel> homeFindAll(HomeThreeShowModel model) {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.homeFindAll",model);
    }

    @Override
    public int getNumber(HomeThreeShowModel model) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.IRoomDao.getNumber",model);
    }

    @Override
    public List<RoomModel> find(Integer temp) {
        return GetSqlSession.getSqlSession().selectList("com.cn.hotel.dao.IRoomDao.find",temp);
    }

    @Override
    public int getTotal(Integer temp) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.IRoomDao.getTotal",temp);
    }

    @Override
    public int homeAdd(HomeThreeShowModel model) {
        return GetSqlSession.getSqlSession().insert("com.cn.hotel.dao.IRoomDao.homeAdd",model);
    }

    @Override
    public int homeEdit(HomeThreeShowModel model) {
        return GetSqlSession.getSqlSession().update("com.cn.hotel.dao.IRoomDao.homeEdit",model);
    }
    @Override
    public int homeDelete(Integer temp){
        return GetSqlSession.getSqlSession().delete("com.cn.hotel.dao.IRoomDao.homeDelete",temp);
    }

    @Override
    public HomeThreeShowModel homeFindById(Integer aa) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.hotel.dao.IRoomDao.homeFindById",aa);
    }
}
